In other words, in this course, programming assignments are designed to: (1) help you learn the materials; (2) help you understand what you have and have not learned; and (3) encourage you to do the work that is necessary for learning to occur.
Also, you must not discuss programming assignments with tutors of any kind – paid or volunteer, local or remote. Similarly, you must not use code from any source, whether human (e.g., "mechanical turk") or not (e.g., AI-based code generators), that was created based on information that is specific to the assignment (e.g., specifications, function/method/class declarations). When in doubt, assume that code obtained from the Internet must not be used.
Finally, you must not make your solutions to programming assignments available in any form on any WWW sites, solution archives, etc...
Failure to comply with these policies is a violation of the JMU Honor Code. Automated tools (like, for example, Moss) may be used on any submission (including "early" submissions), at any time, to detect violations of this policy.
Assistance can be a crutch that actually hinders learning. You will be much more successful at learning the material in this course if you complete the programming assignments independently [with, perhaps, assistance from the instructor(s) and/or lab assistant(s)]. Though you may lose some points on the programming assignments if you take this approach, it will almost certainly help you on exams (which are a much larger portion of the final grade).
Since assistance/collaboration can take many forms, so too can the way in which you give attribution credit. Some common examples include:
I received help in understanding ___ from ___.
I received help in writing the algorithm (but not the code) for ___ from ___.
I received help in identifying a defect in ___ from ___.
I received help in correcting a defect in ___ from ___.
I received help in writing the code for ___ from ___.
I received step-by-step instructions on how to write the code for ___ from ___.
___ and I wrote the code for ___ together.
The code for ___ was written by/obtained from ___.
Most importantly, students are not required, or even encouraged, to provide assistance. So, if asked, you should feel free to decline such a request and, if asking, you must not take offense if such a request is denied.
In addition, neither the instructor(s) nor lab assistant(s) may provide as much assistance as you want. Most frequently, this happens when they think the assistance you have requested will prevent you from learning an important concept. Sometimes, this happens when they think you are using too much of their time. Again, you must not take offense if a request is denied.
To prevent you from relying on Gradescope too heavily, individual assignments may have a maximum number of submissions (perhaps after a certain date) and/or points may be deducted for each submission.
You are responsible for knowing the submission rules for each assignment. In general, your last submission is the one that will be graded.
Your submission must be processed/checked by Gradescope before the time that it is due. It is not enough to have it "in the queue" before the deadline.
In other words, you must recognize that the system might be severely congested and submit your code early enough that the processing time will not be a problem. (This is not unlike a situation in which you need to be someplace at a specific time and you know that the roads might be congested. You are responsible for departing early enough; you must select a departure time that accounts for the congestion.)
Some criteria will be graded by the submission system (when you submit) and others will be graded by the instructor after the due date. Note that the grade awarded by the submission system is an estimate, not a guarantee. In other words, the grade awarded by the submission system may be modified by the instructor.
The course syllabus indicates whether late submissions will be accepted (and the associated penalties).
Copyright 2022